package com.gxcc3.ygps.common.core.domain.entity;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.gxcc3.ygps.common.annotation.Excel;
import com.gxcc3.ygps.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

public class SysCheckDetection extends BaseEntity {

    /**
     * 主键
     */
    private Long id;

    /**
     * 检测id
     */
    private String detectionId;

    /**
     * 企业id
     */
    private String companyId;
    /**
     * 检测商品名称
     */
    @NotBlank(message = "检测商品不能为空")
    private String goodsName;
    /**
     * 项目id
     */
    @NotBlank(message = "检测项目不能为空")
    private String itemId;
    /**
     * 检测项目
     */
    @NotBlank(message = "检测项目不能为空")
    private String itemName;
    /**
     * 检测时间
     */
    @NotNull(message = "检测时间不能为空")
    private Date checkTime;

    /**
     * 检测结果
     */
    @NotEmpty(message = "检测结果不能为空")
    private String result;

    /**
     * 检测值
     */
    private String checkValue;
    /**
     * 上报状态，null or '' 未上报，self自主上报 task任务上报
     */
    private String reportStatus;
    /**
     * 上报采样编号
     */
    private String reportSampleNo;
    /**
     * 上报采样批次号
     */
    private String reportSampleBatch;
    /**
     * 上报检测批次号
     */
    private String reportCheckBatchNo;
    /**
     * 删除标记
     */
    private String delFlag;

    /**
     * 数据来源
     */
    private String dataSource;

    @NotEmpty(message = "检测项目对应结果不能为空")
    private List<SysCheckDetectionItem> itemList;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getDetectionId() {
        return detectionId;
    }

    public void setDetectionId(String detectionId) {
        this.detectionId = detectionId;
    }

    public String getCompanyId() {
        return companyId;
    }

    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public String getItemId() {
        return itemId;
    }

    public void setItemId(String itemId) {
        this.itemId = itemId;
    }

    public String getItemName() {
        return itemName;
    }

    public void setItemName(String itemName) {
        this.itemName = itemName;
    }

    public Date getCheckTime() {
        return checkTime;
    }

    public void setCheckTime(Date checkTime) {
        this.checkTime = checkTime;
    }

    public String getResult() {
        return result;
    }

    public void setResult(String result) {
        this.result = result;
    }

    public String getCheckValue() {
        return checkValue;
    }

    public void setCheckValue(String checkValue) {
        this.checkValue = checkValue;
    }

    public String getReportStatus() {
        return reportStatus;
    }

    public void setReportStatus(String reportStatus) {
        this.reportStatus = reportStatus;
    }

    public String getReportSampleNo() {
        return reportSampleNo;
    }

    public void setReportSampleNo(String reportSampleNo) {
        this.reportSampleNo = reportSampleNo;
    }

    public String getReportSampleBatch() {
        return reportSampleBatch;
    }

    public void setReportSampleBatch(String reportSampleBatch) {
        this.reportSampleBatch = reportSampleBatch;
    }

    public String getReportCheckBatchNo() {
        return reportCheckBatchNo;
    }

    public void setReportCheckBatchNo(String reportCheckBatchNo) {
        this.reportCheckBatchNo = reportCheckBatchNo;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public List<SysCheckDetectionItem> getItemList() {
        return itemList;
    }

    public void setItemList(List<SysCheckDetectionItem> itemList) {
        this.itemList = itemList;
    }


    public String getDataSource() {
        return dataSource;
    }

    public void setDataSource(String dataSource) {
        this.dataSource = dataSource;
    }
}
